//超过阈值的最少操作数 
/*给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。

一次操作中，你可以删除 nums 中的最小元素。

你需要使数组中的所有元素都大于或等于 k ，请你返回需要的 最少 操作次数。
1 <= nums.length <= 50
1 <= nums[i] <= 10^9
1 <= k <= 10^9
输入保证至少有一个满足 nums[i] >= k 的下标 i 存在。*/
int minOperations(int* nums, int numsSize, int k) {
    int add = 0;
    for (int i = 0; i < numsSize; i++) {
        if (nums[i] < k)
            add++;
    }
    return add;
}
//简单的统计比k小的数。


//可被三整除的偶数的平均值
/*给你一个由正整数组成的整数数组 nums ，返回其中可被 3 整除的所有偶数的平均值。

注意：n 个元素的平均值等于 n 个元素 求和 再除以 n ，结果 向下取整 到最接近的整数。
1 <= nums.length <= 1000
1 <= nums[i] <= 1000
*/
int averageValue(int* nums, int numsSize) {
    int sum=0;//计算所有被6整除的数的和
    int num=0;//计算所有被6整除的数的个数
    for(int i=0;i<numsSize;i++)
    {
        if(nums[i]%6==0)
        {
            sum+=nums[i];
            num++;
        }
    }  
    if(num)//考虑除数为零的情况
    return sum/num;
    else
    return 0;
}
//可被三整除的偶数的平均值可等价于被6整除的平均值


// 二进制链表转整数
/*给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。

请你返回该链表所表示数字的 十进制值 。
链表不为空。
链表的结点总数不超过 30。
每个结点的值不是 0 就是 1。*/
int getDecimalValue(struct ListNode* head) {
    int sum = 0;
    int count = 0;
    while (head) {
        sum = sum << 1;
        sum = sum | (head->val);
        head = head->next;
        count++;
    }
    return sum;
}